1. Field of the Invention
The present invention relates to a method of adjusting the drive speed of a compact disk (CD) based on the speed of the host system.
2. Description of the Prior Art
With the advent of double speed CD burners, the speed of the CD drive for reading data has also increased accordingly. However, an increase in the speed of the main motor of the CD drive will also result in an increase in vibration and heat, so that the data reading stability of the optical laser reading head will be affected, the performance of the CD drive will be greatly reduced, and the noise and power consumption will also be increased.
Generally speaking, high reading speeds are useful only when reading large amounts of data. On the other hand, high reading speeds are not necessary in certain applications, such as playing back music CD or VCD. In such applications, the speed only needs to be maintained at single to double speed, so that if the host (e.g., a computer system that is coupled to the CD drive) reads the data only for playback purposes, it will not require too high a speed. Therefore, if one can detect the speed that the host actually requires for the CD drive to perform a particular function (e.g., read data for playback), then the speed of the CD drive can also be set accordingly to avoid unwanted noise and waste of power.
One conventional method of reducing the speed of the CD drive attempts to use software together with a detection mechanism to detect the vibration or bias track through the CD drive. Unfortunately, an additional detection circuit must be added to accomplish this.
Another conventional method of reducing the speed of the CD drive is shown in FIG. 1, and uses only software to accomplish this. According to this method, the user uses the status of the eject key of the CD drive to inform the processor that the speed needs to be adjusted. For example, the status of the eject key is checked every 10 ms using the control chip inside the CD drive. As long as the eject key is not pressed, the signal remains high which means that no speed adjustment is needed. On the other hand, if the eject key is pressed, the signal will be low which means that either the user truly desires to eject the CD-ROM, or the user wishes to adjust the speed of the CD drive. This method uses a time threshold to distinguish between a typical eject operation and the user""s instruction to adjust the speed.
Referring now to FIG. 1, the CD drive is first set at a low transmission double speed in step 10, the time counter is reset to zero in step 11, and then step 12 detects whether the eject key is being held and not released.
If the eject key is not being held, then processing returns to step 12 for continuous detection. In this situation, there is obviously no requirement or instruction to adjust the speed of the CD drive.
On the other hand, if the eject key is being held, then in step 13, the eject key will output a low level signal to the the control chip to start the time counter to begin counting. In addition, the value of the time counter is checked to see if it is more than five seconds. Usually, if a user desires to perform a normal eject operation, the user will only need to press the eject key for a short period of time. Thus, the five seconds is essentially a threshold that can be selected to see if the user is deliberately pressing on the eject key for a time period that is longer than normally required to effectuate a normal eject operation.
As a result, if the value of the time counter is not more than five seconds, then the method considers this to be the situation where the user desires to perform a normal eject operation, so processing proceeds to step 14 where the tray of the CD drive is ejected, and the processing then returns to step 11.
On the other hand, if the value of the time counter is more than five seconds, then this is a clear manifestation of the user""s intention to adjust the speed of the CD drive. As a result, in step 15, the control chip enables the LED on the CD drive, so that the LED flashes to indicate to the user that the CD drive has acknowledged the user""s instruction to adjust the speed. The switch of the CD drive can then be adjusted, for example, to a higher speed (e.g., the maximum speed that the CD drive itself is capable of). When the user presses the eject key in the conventional manner to perform a normal eject operation, the CD drive will then eject the tray, and return to the original transmission at the low speed.
Unfortunately, the steps described above in the conventional method of FIG. 1, in particular pressing on the eject key for more than five seconds, require human operation, so they are rather inconvenient.
In light of the above, there remains a need for a method of adjusting the speed of the CD drive that avoids the drawbacks described above.
It is an object of the present invention to provide a method for adjusting the speed of a CD drive based on the speed of the host operating system or application program in order to avoid unnecessary noise and power consumption due to excessive speed.
To accomplish the objects stated above, the present invention provides a method of adjusting the speed of a CD drive that is coupled to a host, which includes the steps of receiving a command from the host, calculating the processing speed required by the host for executing the received command, and adjusting the processing speed of the CD drive if the required processing speed of the host is either greater than or less than the current processing speed of the CD drive.